package src.F_CollectionFramework;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

// Map接口中方法测试
public class F01_Map {
    public static void main(String[] args) {
        Map map = new HashMap();
        Map m1 = new HashMap();

        map.put(null,null);
        map.put("一",1);
        map.put("二",2);
        m1.put("三",3);
        m1.put("四",4);
        m1.put("四","四"); // 改
        m1.putAll(map);
        map.remove(null); // 删
        System.out.println(m1.get("四"));
        System.out.println(map.size());
        System.out.println(m1.size());

        // 遍历的几种方式
        // 第一种：普遍使用，二次取值
        System.out.println("通过Map.keySet遍历key和value：");
        for (Object key : m1.keySet()) {
            System.out.println(key + "：" + m1.get(key));
        }

        //第二种
        System.out.println("通过Map.entrySet使用iterator遍历key和value：");
        Iterator<Map.Entry<String, Object>> it = m1.entrySet().iterator();
        while (it.hasNext()) {
            Map.Entry<String, Object> entry = it.next();
            System.out.println(entry.getKey() + "：" + entry.getValue());
        }

        //第三种
        System.out.println("通过Map.values()遍历所有的value，但不能遍历key");
        for (Object v : m1.values()) {
            System.out.println("value= " + v);
        }

    }
}
